package com.peycash.monitoring.ws.impl;

import java.rmi.RemoteException;

import org.springframework.stereotype.Component;

import com.peycash.monitoring.dominio.Sms;
import com.peycash.monitoring.servicio.ServicioException;
import com.peycash.monitoring.utils.Constantes;
import com.peycash.monitoring.ws.ClientRegister;
import com.peycash.ws.endpoint.ClienteOpEndpointProxy;
import com.peycash.ws.endpoint.NuevoClienteRequestDTO;
import com.peycash.ws.endpoint.NuevoClienteResponseDTO;

@Component
public class ClientRegisterImpl implements ClientRegister{

	private ClienteOpEndpointProxy proxy;
	
	public ClientRegisterImpl(){
		proxy = new ClienteOpEndpointProxy();
	}
	
	@Override
	public String registerSender(String noCel) throws ServicioException{
		NuevoClienteRequestDTO request = new NuevoClienteRequestDTO();
		request.setNoCel(noCel);
		request.setTipo(Constantes.TIPO_CLIENTE_ENVIA);
		request.setC1("");
		request.setC2("");
		request.setC3("");
		try {
			NuevoClienteResponseDTO response = proxy.addCliente(request);
			return response.getCodigoRespuesta();
		} catch (RemoteException e) {
			throw new ServicioException("Exception en register:"+e.getMessage(), e);
		}
	}
	
	@Override
	public String registerReceiver(String noCel) throws ServicioException{
		NuevoClienteRequestDTO request = new NuevoClienteRequestDTO();
		request.setNoCel(noCel);
		request.setTipo(Constantes.TIPO_CLIENTE_RECIBE);
		request.setC1("");
		request.setC2("");
		request.setC3("");
		try {
			NuevoClienteResponseDTO response = proxy.addCliente(request);
			return response.getCodigoRespuesta();
		} catch (RemoteException e) {
			throw new ServicioException("Exception en register:"+e.getMessage(), e);
		}
	}
}
